package com.sgcc.platforminterface;


import com.sgcc.pda.gis.GisManager;
import com.sgcc.pda.hw.ICommonUtilManager;
import com.sgcc.pda.hw.ICommonUtilManager2;
import com.sgcc.pda.hw.IProtocol376Manager;
import com.sgcc.pda.hw.IProtocol645Manager;
import com.sgcc.pda.hw.IProtocol698Manager;
import com.sgcc.pda.hw.IProtocolIECManager;


import com.sgcc.pda.hw.ISecurityUnitManager;
import com.sgcc.pda.hw.ISecurityUnitManager2;


import com.sgcc.pda.hw.impl.ImageOCRManager;

import com.sgcc.pda.hzaidl.impl.HardwareManager;
import com.sgcc.pda.hzaidl.impl.ProtocolWSManager;
import com.sgcc.pda.hzaidl.impl.ScannerManager;


import com.sgcc.pda.hzaidl.impl.SealManager;


/**
 * @创建者：suven on 2020/4/1 10:29
 * @描述：
 * @版本：1.0
 * @修改人：
 * @修改时间：
 * @修改说明：
 * @修改版本：
 */
public class HwManager {
    /**
     * 获取安全单元1.0公共操作AIDL
     */
    public static ICommonUtilManager getCommonUtilManager() {
        if (PlatfInterfManager.getInstance().isSpeed()) {
            return com.sgcc.pda.hzaidl.impl.CommonUtilManager.getInstance();
        } else {
            return com.sgcc.pda.hw.impl.CommonUtilManager.getInstance().getCommonUtilManager();
        }
    }

    //获取安全单元1.0操作AIDL
    public static ISecurityUnitManager getSecurityUnitManager() {
        if (PlatfInterfManager.getInstance().isSpeed()) {
            return com.sgcc.pda.hzaidl.impl.SecurityUnitManager.getInstance();
        } else {
            return com.sgcc.pda.hw.impl.SecurityUnitManager.getInstance().getSecurityUnitManager();
        }
    }

    //获取安全单元2.0公共操作AIDL
    public static ICommonUtilManager2 getCommonUtilManager2() {
        if (PlatfInterfManager.getInstance().isSpeed()) {
            return com.sgcc.pda.hzaidl.impl.CommonUtilManager2.getInstance();
        } else {
            return com.sgcc.pda.hw.impl.CommonUtilManager2.getInstance().getCommonUtilManager2();
        }
    }

    //获取安全单元2.0作AIDL
    public static ISecurityUnitManager2 getSecurityUnitManager2() {
        if (PlatfInterfManager.getInstance().isSpeed()) {
            return com.sgcc.pda.hzaidl.impl.SecurityUnitManager2.getInstance();
        } else {
            return com.sgcc.pda.hw.impl.SecurityUnitManager2.getInstance().getSecurityUnitManager2();
        }
    }

    //获取698操作AIDL
    public static IProtocol698Manager getProtocol698Manager() {
        if (PlatfInterfManager.getInstance().isSpeed()) {
            return com.sgcc.pda.hzaidl.impl.Protocol698Manager.getInstance();
        } else {
            return com.sgcc.pda.hw.impl.Protocol698Manager.getInstance().getProtocol698Manager();
        }
    }

    //获取645操作AIDL
    public static IProtocol645Manager getProtocol645Manager() {
        if (PlatfInterfManager.getInstance().isSpeed()) {
            return com.sgcc.pda.hzaidl.impl.Protocol645Manager.getInstance();
        } else {
            return com.sgcc.pda.hw.impl.Protocol645Manager.getInstance().getProtocol645Manager();
        }
    }

    //获取376服务
    public static IProtocol376Manager getProtocol376Manager() {
        if (PlatfInterfManager.getInstance().isSpeed()) {
            return com.sgcc.pda.hzaidl.impl.Protocol376Manager.getInstance();
        } else {
            return com.sgcc.pda.hw.impl.Protocol376Manager.getInstance().getProtocol376Manager();
        }
    }

    //获取外设协议aidl服务 内部进行极速版与普通版分类
    public static ProtocolWSManager getProtocolWSManager() {
        return com.sgcc.pda.hzaidl.impl.ProtocolWSManager.getInstance();
    }

    //进口表IEC协议
    public static IProtocolIECManager getProtocolIECManager() {
        if (PlatfInterfManager.getInstance().isSpeed()) {
            return com.sgcc.pda.hzaidl.impl.ProtocolIECManager.getInstance();
        } else {
            return com.sgcc.pda.hw.impl.ProtocolIECManager.getInstance().getProtocolIECManager();
        }

    }

    //绑定扫描服务  内部进行极速版与普通版分类
    public static ScannerManager getScannerManager() {
        return com.sgcc.pda.hzaidl.impl.ScannerManager.getInstance();
    }

    //电子封印  内部进行极速版与普通版分类
    public static SealManager getSealManager() {
        return com.sgcc.pda.hzaidl.impl.SealManager.getInstance();
    }

    //绑定硬件服务
    public static HardwareManager getHardwareManager() {
        return HardwareManager.getInstance();
    }

    //图片识别
    public static ImageOCRManager getImageOCRManager() {
        return com.sgcc.pda.hw.impl.ImageOCRManager.getInstance();
    }

    //地图实现
    public static GisManager getGisManager() {
        return com.sgcc.pda.gis.GisManager.getInstance();
    }

}
